{{tag>émulateurs_console BROUILLON}}
----

====== Mednafen: Émulateur multiplate-forme ======

Mednafen est un émulateur permettant d'émuler ces consoles:
   * Atari Lynx
   * Famicom / NES
   * GameBoy (Color)
   * GameBoy Advance
   * Neo Geo Pocket (Color)
   * NES, both NTSC and PAL
   * PC Engine/TurboGrafx 16 (CD) et SuperGrafx
   * PC-FX
   * WonderSwan (Color)

Support expérimental ou moins compatible pour ces consoles (cherchez des émulateurs spécifiques pour ces consoles si la compatibilité n'est pas suffisante):
  * Sega Master System
  * Gamegear
  * Megadrive
  * Super Nintendo
  * Nintendo Virtual Boy
  * Sony Playstation (Très très expérimental)
    
Son installation est relativement complexe et il n'y a d'interface graphique actuellement en développement pour Linux.\\

===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.

===== Installation depuis les dépôts officiels  =====

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>mednafen|mednafen]]**.

===== Installation de l'interface graphique  =====
<note warning>Obsolète.</note>
  * Téléchargez puis [[:tutoriel:comment_installer_un_paquet|installez]] la dernière version du paquet .deb depuis le **[[http://sourceforge.net/projects/mednafenfe/files/|site officiel]]**. 

====Sous Ubuntu 11.04 (Natty), Ubuntu 12.04 (Precise) ====

FIXME //Et sous Ubuntu 12.10 (Quantal) ?// 

Le paquet //mednafenfe_0.1.6-0ubuntu1_all.deb// ne fonctionne pas sous [[:natty|Ubuntu Natty]] ni même sous [[:precise|Ubuntu Precise]], mais il est tout de même possible d'avoir une interface graphique en suivant la méthode suivante : 
  - Télécharger puis [[:archivage#graphiquement|extraire l'archive]] .tar.gz depuis le [[http://sourceforge.net/projects/mednafenfe/files/|site officiel]]
  - Depuis le dossier où vous aurez extrait l'archive, saisissez dans un [[:terminal]] la [[:commande_shell|commande]] suivante: <code>sudo python setup.py install</code>

===Exemple en ligne de commande===
Exemple pour l'archive //mfe-0.1.6.tar.gz// téléchargée dans le dossier **Téléchargements** de votre Dossier Personnel
<code>cd ~/Téléchargements
tar xvfz mfe-0.1.6.tar.gz
sudo python setup.py install</code>


=====Utilisation=====

Lancez l'application depuis le menu //Applications->Jeux->Mednafen// ou depuis un [[:terminal]] saisissez la [[:commande_shell|commande]] suivante :
<code>mfe</code>
<note tip>Si mednafen ne se lance pas, il vous faudra également [[:tutoriel:comment_installer_un_paquet|installer la librairie]] **[[apt>python-configobj|python-configobj]]**</note>

Bon jeu ! ;-)

===== Configuration des touches =====

==== Méthode simple ====

Il est désormais possible de configurer simplement et rapidement les touches en appuyant sur la combinaison de touche //Alt//+//Shift//+//1// une fois dans le jeu (Shift = Majuscule). 

**Si le raccourci //Alt+Shift+1// ne fonctionne pas:** \\
[[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **~/.mednafen/mednafen.cfg**. \\
Recherchez la chaine //input_config1// pour remplacer 
<file>command.input_config1 keyboard 50+alt+shift</file>
par
<file>command.input_config1 keyboard 109</file>
//109 correspond à la touche //m// du clavier, qui devient ainsi le raccourci.//\\
Une fois dans le jeu, appuyez sur **//m//** pour activer la configuration des touches.

==== Méthode "Complexe" ====

Il est également possible de modifier ces touches en [[tutoriel:comment_modifier_un_fichier|éditant le fichier ]] **.mednafen/mednafen.cfg** présent dans votre Dossier Personnel et y ajouter par exemple le contenu présent ci-dessous:
<note important>Il faut utiliser les équivalents claviers SDL. Ayant été long à trouver, ils sont rapportés ici :-)</note>
<file>
    SDLK_UNKNOWN         = 0,
    SDLK_FIRST        = 0,
    SDLK_BACKSPACE         = 8,
    SDLK_TAB        = 9,
    SDLK_CLEAR        = 12,
    SDLK_RETURN        = 13,
    SDLK_PAUSE        = 19,
    SDLK_ESCAPE        = 27,
    SDLK_SPACE        = 32,
    SDLK_EXCLAIM         = 33,
    SDLK_QUOTEDBL         = 34,
    SDLK_HASH        = 35,
    SDLK_DOLLAR        = 36,
    SDLK_AMPERSAND         = 38,
    SDLK_QUOTE        = 39,
    SDLK_LEFTPAREN         = 40,
    SDLK_RIGHTPAREN         = 41,
    SDLK_ASTERISK         = 42,
    SDLK_PLUS        = 43,
    SDLK_COMMA        = 44,
    SDLK_MINUS        = 45,
    SDLK_PERIOD        = 46,
    SDLK_SLASH        = 47,
    SDLK_0            = 48,
    SDLK_1            = 49,
    SDLK_2            = 50,
    SDLK_3            = 51,
    SDLK_4            = 52,
    SDLK_5            = 53,
    SDLK_6            = 54,
    SDLK_7            = 55,
    SDLK_8            = 56,
    SDLK_9            = 57,
    SDLK_COLON        = 58,
    SDLK_SEMICOLON         = 59,
    SDLK_LESS        = 60,
    SDLK_EQUALS        = 61,
    SDLK_GREATER         = 62,
    SDLK_QUESTION         = 63,
    SDLK_AT             = 64,
    /*
        Skip uppercase letters
     */
    SDLK_LEFTBRACKET     = 91,
    SDLK_BACKSLASH         = 92,
    SDLK_RIGHTBRACKET     = 93,
    SDLK_CARET         = 94,
    SDLK_UNDERSCORE          = 95,
    SDLK_BACKQUOTE         = 96,
    SDLK_a             = 97,
    SDLK_b             = 98,
    SDLK_c             = 99,
    SDLK_d             = 100,
    SDLK_e             = 101,
    SDLK_f             = 102,
    SDLK_g             = 103,
    SDLK_h             = 104,
    SDLK_i             = 105,
    SDLK_j             = 106,
    SDLK_k             = 107,
    SDLK_l             = 108,
    SDLK_m             = 109,
    SDLK_n             = 110,
    SDLK_o             = 111,
    SDLK_p             = 112,
    SDLK_q             = 113,
    SDLK_r             = 114,
    SDLK_s             = 115,
    SDLK_t             = 116,
    SDLK_u             = 117,
    SDLK_v             = 118,
    SDLK_w             = 119,
    SDLK_x             = 120,
    SDLK_y             = 121,
    SDLK_z             = 122,
    SDLK_DELETE         = 127,
    /* End of ASCII mapped keysyms */
    /* International keyboard syms */
    SDLK_WORLD_0         = 160,       /* 0xA0 */
    SDLK_WORLD_1         = 161,
    SDLK_WORLD_2         = 162,
    SDLK_WORLD_3         = 163,
    SDLK_WORLD_4         = 164,
    SDLK_WORLD_5         = 165,
    SDLK_WORLD_6         = 166,
    SDLK_WORLD_7         = 167,
    SDLK_WORLD_8         = 168,
    SDLK_WORLD_9         = 169,
    SDLK_WORLD_10         = 170,
    SDLK_WORLD_11         = 171,
    SDLK_WORLD_12         = 172,
    SDLK_WORLD_13         = 173,
    SDLK_WORLD_14         = 174,
    SDLK_WORLD_15         = 175,
    SDLK_WORLD_16         = 176,
    SDLK_WORLD_17         = 177,
    SDLK_WORLD_18         = 178,
    SDLK_WORLD_19         = 179,
    SDLK_WORLD_20         = 180,
    SDLK_WORLD_21         = 181,
    SDLK_WORLD_22         = 182,
    SDLK_WORLD_23         = 183,
    SDLK_WORLD_24         = 184,
    SDLK_WORLD_25         = 185,
    SDLK_WORLD_26         = 186,
    SDLK_WORLD_27         = 187,
    SDLK_WORLD_28         = 188,
    SDLK_WORLD_29         = 189,
    SDLK_WORLD_30         = 190,
    SDLK_WORLD_31         = 191,
    SDLK_WORLD_32        = 192,
    SDLK_WORLD_33        = 193,
    SDLK_WORLD_34        = 194,
    SDLK_WORLD_35        = 195,
    SDLK_WORLD_36        = 196,
    SDLK_WORLD_37        = 197,

    SDLK_WORLD_38        = 198,
    SDLK_WORLD_39        = 199,
    SDLK_WORLD_40        = 200,
    SDLK_WORLD_41        = 201,
    SDLK_WORLD_42        = 202,
    SDLK_WORLD_43        = 203,
    SDLK_WORLD_44        = 204,
    SDLK_WORLD_45        = 205,
    SDLK_WORLD_46        = 206,
    SDLK_WORLD_47        = 207,
    SDLK_WORLD_48        = 208,
    SDLK_WORLD_49        = 209,
    SDLK_WORLD_50        = 210,
    SDLK_WORLD_51        = 211,
    SDLK_WORLD_52        = 212,
    SDLK_WORLD_53        = 213,
    SDLK_WORLD_54        = 214,
    SDLK_WORLD_55        = 215,
    SDLK_WORLD_56        = 216,
    SDLK_WORLD_57        = 217,
    SDLK_WORLD_58        = 218,
    SDLK_WORLD_59        = 219,
    SDLK_WORLD_60        = 220,
    SDLK_WORLD_61        = 221,
    SDLK_WORLD_62        = 222,
    SDLK_WORLD_63        = 223,
    SDLK_WORLD_64        = 224,
    SDLK_WORLD_65        = 225,
    SDLK_WORLD_66        = 226,
    SDLK_WORLD_67        = 227,
    SDLK_WORLD_68        = 228,
    SDLK_WORLD_69        = 229,
    SDLK_WORLD_70        = 230,
    SDLK_WORLD_71        = 231,
    SDLK_WORLD_72        = 232,
    SDLK_WORLD_73        = 233,
    SDLK_WORLD_74        = 234,
    SDLK_WORLD_75        = 235,
    SDLK_WORLD_76        = 236,
    SDLK_WORLD_77        = 237,
    SDLK_WORLD_78        = 238,
    SDLK_WORLD_79        = 239,
    SDLK_WORLD_80        = 240,
    SDLK_WORLD_81        = 241,
    SDLK_WORLD_82        = 242,
    SDLK_WORLD_83        = 243,
    SDLK_WORLD_84        = 244,
    SDLK_WORLD_85        = 245,
    SDLK_WORLD_86        = 246,
    SDLK_WORLD_87        = 247,
    SDLK_WORLD_88        = 248,
    SDLK_WORLD_89        = 249,
    SDLK_WORLD_90        = 250,
    SDLK_WORLD_91        = 251,
    SDLK_WORLD_92        = 252,
    SDLK_WORLD_93        = 253,
    SDLK_WORLD_94        = 254,
    SDLK_WORLD_95        = 255,     /* 0xFF */
    /* Numeric keypad */
    SDLK_KP0        = 256,
    SDLK_KP1        = 257,
    SDLK_KP2        = 258,
    SDLK_KP3        = 259,
    SDLK_KP4        = 260,
    SDLK_KP5        = 261,
    SDLK_KP6         =  262,
    SDLK_KP7         =  263,
    SDLK_KP8         =  264,
    SDLK_KP9         =  265,
    SDLK_KP_PERIOD           = 266,
    SDLK_KP_DIVIDE           = 267,
    SDLK_KP_MULTIPLY      = 268,
    SDLK_KP_MINUS          = 269,
    SDLK_KP_PLUS          = 270,
    SDLK_KP_ENTER          = 271,
    SDLK_KP_EQUALS           = 272,
    /* Arrows + Home/End pad */
    SDLK_UP              = 273,
    SDLK_DOWN          = 274,
    SDLK_RIGHT          = 275,
    SDLK_LEFT          = 276,
    SDLK_INSERT          = 277,
    SDLK_HOME          = 278,
    SDLK_END         = 279,
    SDLK_PAGEUP          = 280,
    SDLK_PAGEDOWN          = 281,
    /* Function keys */
    SDLK_F1              = 282,
    SDLK_F2              = 283,
    SDLK_F3              = 284,
    SDLK_F4              = 285,
    SDLK_F5              = 286,
    SDLK_F6              = 287,
    SDLK_F7              = 288,
    SDLK_F8              = 289,
    SDLK_F9              = 290,
    SDLK_F10         = 291,
    SDLK_F11         = 292,
    SDLK_F12         = 293,
    SDLK_F13         = 294,
    SDLK_F14         = 295,
    SDLK_F15         = 296,
    /* Key state modifier keys */
    SDLK_NUMLOCK          = 300,
    SDLK_CAPSLOCK          = 301,
    SDLK_SCROLLOCK           = 302,
    SDLK_RSHIFT          = 303,
    SDLK_LSHIFT          = 304,
    SDLK_RCTRL          = 305,
    SDLK_LCTRL          = 306,
    SDLK_RALT          = 307,
    SDLK_LALT          = 308,
    SDLK_RMETA          = 309,
    SDLK_LMETA          = 310,
    SDLK_LSUPER          = 311,         /* Left "Windows" key */
    SDLK_RSUPER          = 312,         /* Right "Windows" key */
    SDLK_MODE          = 313,        /* "Alt Gr" key */
    SDLK_COMPOSE          = 314,         /* Multi-key compose key */
    /* Miscellaneous   function keys */
    SDLK_HELP          = 315,
    SDLK_PRINT          = 316,
    SDLK_SYSREQ          = 317,
    SDLK_BREAK          = 318,
    SDLK_MENU          = 319,
    SDLK_POWER          = 320,        /* Power Macintosh power key */
    SDLK_EURO          = 321,        /* Some european keyboards */
    SDLK_UNDO          = 322
</file>

===== Désinstallation =====

Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.

===== Problèmes et bugs courant =====

=== Forcer le rendu SDL (virer openGL) ===

Si votre ordinateur a du mal avec OpenGL (pilote pas encore sorti ou ordinateur trop vieux pour le supporter correctement) vous pouvez forcer le rendu software en tapant ceci:

  mednafen -vdriver 1 "glissez une rom"
  
Voilà tout, l'option **//-vdriver 1//** permet de choisir un rendu vidéo alternatif très avantageux si OpenGL galère.

=== Pas de son dans mednafen ===

Ouvrez mednafen avec la commande:

  mednafen -sounddriver sdl "glissez une rom"
  
Vous devriez normalement avoir du son si ce n'est pas le cas vous pouvez essayer:

  mednafen -sounddriver alsa "glissez une rom"
  
Vous pouvez ensuite utiliser mednafen comme bon vous semble sans l'option "-sounddriver *" car mednafen garde en mémoire les configurations que vous lui donnez.

===== Voir aussi =====

   * [[http://mednafen.sourceforge.net|Site officiel]]
   * [[http://forum.ubuntu-fr.org/viewtopic.php?id=255339|Forum Ubuntu "Mednafen et configuration des touches" voir post #9]]

----

//Contributeurs principaux : FIXME//